package com.cskaoyan._05connectionpool;

import com.cskaoyan._03jdbc.util.JdbcUtils;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.LinkedList;

/**
 * @author Macro_Ray
 * @since 2024/4/19 上午11:16
 */
public class MyConnectionPool1 {
    // 连接池，容器 list 存放 connection
    // 使用linkedlist充当池子
    private static LinkedList<Connection> pool = new LinkedList<>();

    static {
        // 预先创建好10个连接，放入池子中供使用
        for (int i = 0; i < 10; i++) {
            Connection conn = null;
            try {
                // 创建链接，自己封装编写的工具类
                conn = JdbcUtils.getConnection();
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
            pool.addFirst(conn);
        }

    }
    public static Connection getConnection(){
        return pool.pollLast();
    }

}
